-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Update abseil-cpp to a new upstream #1111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code does not match upstream version bf7fc9986e20f664958fc227547fd8d2fdcf863e
. Could you double check?
@@ -208,7 +208,7 @@ class ByAnyChar { | |||
// using absl::ByLength; | |||
// std::vector<std::string> v = absl::StrSplit("12345", ByLength(2)); | |||
// | |||
// // v[0] == "12", v[1] == "35", v[2] == "5" | |||
// // v[0] == "12", v[1] == "34", v[2] == "5" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does not match the upstream:
FYI: I did a full diff for header files via
prefix=/firebase-ios-sdk/Firestore/third_party; for i in $(find
pwd|grep 'h$'); do echo diff $i ${i/$prefix/}; diff $i ${i/$prefix/}; done
The headers alone has mismatches
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/numbers.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/numbers.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/str_split.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/str_split.h
211c211
< // // v[0] == "12", v[1] == "34", v[2] == "5"
---
> // // v[0] == "12", v[1] == "35", v[2] == "5"
405c405
< // // v[0] == " a ", v[1] == "b"
---
> // // v[0] == "a", v[1] == "b"
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/internal/stl_type_traits.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/internal/char_map.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/internal/char_map.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/internal/memutil.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/internal/memutil.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/internal/str_join_internal.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/internal/resize_uninitialized.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/internal/ostringstream.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/internal/ostringstream.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/internal/utf8.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/internal/utf8.h
16a17,20
> // If you need Unicode specific processing (for example being aware of
> // Unicode character boundaries, or knowledge of Unicode casing rules,
> // or various forms of equivalence and normalization), take a look at
> // files in i18n/utf8.
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/internal/str_split_internal.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/str_replace.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/str_replace.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/str_join.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/str_join.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/ascii.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/ascii.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/escaping.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/escaping.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/match.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/match.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/strip.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/strip.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/substitute.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/substitute.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/string_view.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/string_view.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/strings/str_cat.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/strings/str_cat.h
79,82c79,82
< // Enum that specifies the number of significant digits to return in a `Hex` or
< // `Dec` conversion and fill character to use. A `kZeroPad2` value, for example,
< // would produce hexadecimal strings such as "0A","0F" and a 'kSpacePad5' value
< // would produce hexadecimal strings such as " A"," F".
---
> // Enum that specifies the number of significant digits to return in a `Hex`
> // conversion and fill character to use. A `kZeroPad2` value, for example, would
> // produce hexadecimal strings such as "0A","0F" and 'kSpacePad5' value would
> // produce hexadecimal strings such as " A"," F".
130,133c130,131
< explicit Hex(
< Int v, PadSpec spec = absl::kNoPad,
< typename std::enable_if<sizeof(Int) == 1 &&
< !std::is_pointer<Int>::value>::type* = nullptr)
---
> explicit Hex(Int v, PadSpec spec = absl::kNoPad,
> typename std::enable_if<sizeof(Int) == 1>::type* = nullptr)
136,139c134,135
< explicit Hex(
< Int v, PadSpec spec = absl::kNoPad,
< typename std::enable_if<sizeof(Int) == 2 &&
< !std::is_pointer<Int>::value>::type* = nullptr)
---
> explicit Hex(Int v, PadSpec spec = absl::kNoPad,
> typename std::enable_if<sizeof(Int) == 2>::type* = nullptr)
142,145c138,139
< explicit Hex(
< Int v, PadSpec spec = absl::kNoPad,
< typename std::enable_if<sizeof(Int) == 4 &&
< !std::is_pointer<Int>::value>::type* = nullptr)
---
> explicit Hex(Int v, PadSpec spec = absl::kNoPad,
> typename std::enable_if<sizeof(Int) == 4>::type* = nullptr)
148,151c142,143
< explicit Hex(
< Int v, PadSpec spec = absl::kNoPad,
< typename std::enable_if<sizeof(Int) == 8 &&
< !std::is_pointer<Int>::value>::type* = nullptr)
---
> explicit Hex(Int v, PadSpec spec = absl::kNoPad,
> typename std::enable_if<sizeof(Int) == 8>::type* = nullptr)
153,155d144
< template <typename Pointee>
< explicit Hex(Pointee* v, PadSpec spec = absl::kNoPad)
< : Hex(spec, reinterpret_cast<uintptr_t>(v)) {}
168,193d156
< // Dec
< // -----------------------------------------------------------------------------
< //
< // `Dec` stores a set of decimal std::string conversion parameters for use
< // within `AlphaNum` std::string conversions. Dec is slower than the default
< // integer conversion, so use it only if you need padding.
< struct Dec {
< uint64_t value;
< uint8_t width;
< char fill;
< bool neg;
<
< template <typename Int>
< explicit Dec(Int v, PadSpec spec = absl::kNoPad,
< typename std::enable_if<(sizeof(Int) <= 8)>::type* = nullptr)
< : value(v >= 0 ? static_cast<uint64_t>(v)
< : uint64_t{0} - static_cast<uint64_t>(v)),
< width(spec == absl::kNoPad
< ? 1
< : spec >= absl::kSpacePad2 ? spec - absl::kSpacePad2 + 2
< : spec - absl::kZeroPad2 + 2),
< fill(spec >= absl::kSpacePad2 ? ' ' : '0'),
< neg(v < 0) {}
< };
<
< // -----------------------------------------------------------------------------
231d193
< AlphaNum(Dec dec); // NOLINT(runtime/explicit)
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/types/optional.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/types/optional.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/types/bad_optional_access.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/types/bad_optional_access.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/memory/memory.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/memory/memory.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/meta/type_traits.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/meta/type_traits.h
153d152
< private:
203d201
< private:
235d232
< private:
268d264
< private:
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/numeric/int128.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/numeric/int128.h
20,23c20,22
< // This header file defines 128-bit integer types.
< //
< // Currently, this file defines `uint128`, an unsigned 128-bit integer; a signed
< // 128-bit integer is forthcoming.
---
> // This header file defines 128-bit integer types. Currently, this file defines
> // `uint128`, an unsigned 128-bit integer; a signed 128-bit integer is
> // forthcoming.
41d39
<
48,49c46,47
< // that occurs, existing well-behaved uses of `uint128` will continue to work
< // using that new type.
---
> // that occurs, existing uses of `uint128` will continue to work using that new
> // type.
73,75d70
< // * The alignment requirement of `uint128` may differ from that of an
< // intrinsic 128-bit integer type depending on platform and build
< // configuration.
83,84c78,79
< // uint64_t i = v; // Error
< // uint64_t i = static_cast<uint64_t>(v); // OK
---
> // absl::uint64_t i = v; // Error
> // absl::uint64_t i = static_cast<uint64_t>(v); // OK
86,90c81
< class
< #if defined(ABSL_HAVE_INTRINSIC_INT128)
< alignas(unsigned __int128)
< #endif // ABSL_HAVE_INTRINSIC_INT128
< uint128 {
---
> class alignas(16) uint128 {
274c265
< // Arithmetic operators.
---
> // Shift and arithmetic operators.
276,282c267
< uint128 operator<<(uint128 lhs, int amount);
< uint128 operator>>(uint128 lhs, int amount);
< uint128 operator+(uint128 lhs, uint128 rhs);
< uint128 operator-(uint128 lhs, uint128 rhs);
< uint128 operator*(uint128 lhs, uint128 rhs);
< uint128 operator/(uint128 lhs, uint128 rhs);
< uint128 operator%(uint128 lhs, uint128 rhs);
---
> inline uint128 operator<<(uint128 lhs, int amount) { return lhs <<= amount; }
284,287c269
< inline uint128& uint128::operator<<=(int amount) {
< *this = *this << amount;
< return *this;
< }
---
> inline uint128 operator>>(uint128 lhs, int amount) { return lhs >>= amount; }
289,292c271
< inline uint128& uint128::operator>>=(int amount) {
< *this = *this >> amount;
< return *this;
< }
---
> inline uint128 operator+(uint128 lhs, uint128 rhs) { return lhs += rhs; }
294,297c273
< inline uint128& uint128::operator+=(uint128 other) {
< *this = *this + other;
< return *this;
< }
---
> inline uint128 operator-(uint128 lhs, uint128 rhs) { return lhs -= rhs; }
299,302c275
< inline uint128& uint128::operator-=(uint128 other) {
< *this = *this - other;
< return *this;
< }
---
> inline uint128 operator*(uint128 lhs, uint128 rhs) { return lhs *= rhs; }
304,307c277
< inline uint128& uint128::operator*=(uint128 other) {
< *this = *this * other;
< return *this;
< }
---
> inline uint128 operator/(uint128 lhs, uint128 rhs) { return lhs /= rhs; }
309,317c279
< inline uint128& uint128::operator/=(uint128 other) {
< *this = *this / other;
< return *this;
< }
<
< inline uint128& uint128::operator%=(uint128 other) {
< *this = *this % other;
< return *this;
< }
---
> inline uint128 operator%(uint128 lhs, uint128 rhs) { return lhs %= rhs; }
555c517,521
< // Arithmetic operators.
---
> // Shift and arithmetic assign operators.
>
> inline uint128& uint128::operator<<=(int amount) {
> assert(amount >= 0); // Negative shifts are undefined.
> assert(amount < 128); // Shifts of >= 128 are undefined.
557d522
< inline uint128 operator<<(uint128 lhs, int amount) {
562,564c527,528
< return MakeUint128(
< (Uint128High64(lhs) << amount) | (Uint128Low64(lhs) >> (64 - amount)),
< Uint128Low64(lhs) << amount);
---
> hi_ = (hi_ << amount) | (lo_ >> (64 - amount));
> lo_ = lo_ << amount;
566c530,532
< return lhs;
---
> } else {
> hi_ = lo_ << (amount - 64);
> lo_ = 0;
568c534
< return MakeUint128(Uint128Low64(lhs) << (amount - 64), 0);
---
> return *this;
571c537,540
< inline uint128 operator>>(uint128 lhs, int amount) {
---
> inline uint128& uint128::operator>>=(int amount) {
> assert(amount >= 0); // Negative shifts are undefined.
> assert(amount < 128); // Shifts of >= 128 are undefined.
>
576,578c545,546
< return MakeUint128(Uint128High64(lhs) >> amount,
< (Uint128Low64(lhs) >> amount) |
< (Uint128High64(lhs) << (64 - amount)));
---
> lo_ = (lo_ >> amount) | (hi_ << (64 - amount));
> hi_ = hi_ >> amount;
580c548,550
< return lhs;
---
> } else {
> lo_ = hi_ >> (amount - 64);
> hi_ = 0;
582c552
< return MakeUint128(0, Uint128High64(lhs) >> (amount - 64));
---
> return *this;
585,591c555,561
< inline uint128 operator+(uint128 lhs, uint128 rhs) {
< uint128 result = MakeUint128(Uint128High64(lhs) + Uint128High64(rhs),
< Uint128Low64(lhs) + Uint128Low64(rhs));
< if (Uint128Low64(result) < Uint128Low64(lhs)) { // check for carry
< return MakeUint128(Uint128High64(result) + 1, Uint128Low64(result));
< }
< return result;
---
> inline uint128& uint128::operator+=(uint128 other) {
> hi_ += other.hi_;
> uint64_t lolo = lo_ + other.lo_;
> if (lolo < lo_)
> ++hi_;
> lo_ = lolo;
> return *this;
594,600c564,568
< inline uint128 operator-(uint128 lhs, uint128 rhs) {
< uint128 result = MakeUint128(Uint128High64(lhs) - Uint128High64(rhs),
< Uint128Low64(lhs) - Uint128Low64(rhs));
< if (Uint128Low64(lhs) < Uint128Low64(rhs)) { // check for carry
< return MakeUint128(Uint128High64(result) - 1, Uint128Low64(result));
< }
< return result;
---
> inline uint128& uint128::operator-=(uint128 other) {
> hi_ -= other.hi_;
> if (other.lo_ > lo_) --hi_;
> lo_ -= other.lo_;
> return *this;
603c571
< inline uint128 operator*(uint128 lhs, uint128 rhs) {
---
> inline uint128& uint128::operator*=(uint128 other) {
607,608c575,577
< return static_cast<unsigned __int128>(lhs) *
< static_cast<unsigned __int128>(rhs);
---
> *this = static_cast<unsigned __int128>(*this) *
> static_cast<unsigned __int128>(other);
> return *this;
610,620c579,587
< uint64_t a32 = Uint128Low64(lhs) >> 32;
< uint64_t a00 = Uint128Low64(lhs) & 0xffffffff;
< uint64_t b32 = Uint128Low64(rhs) >> 32;
< uint64_t b00 = Uint128Low64(rhs) & 0xffffffff;
< uint128 result =
< MakeUint128(Uint128High64(lhs) * Uint128Low64(rhs) +
< Uint128Low64(lhs) * Uint128High64(rhs) + a32 * b32,
< a00 * b00);
< result += uint128(a32 * b00) << 32;
< result += uint128(a00 * b32) << 32;
< return result;
---
> uint64_t a32 = lo_ >> 32;
> uint64_t a00 = lo_ & 0xffffffff;
> uint64_t b32 = other.lo_ >> 32;
> uint64_t b00 = other.lo_ & 0xffffffff;
> hi_ = hi_ * other.lo_ + lo_ * other.hi_ + a32 * b32;
> lo_ = a00 * b00;
> *this += uint128(a32 * b00) << 32;
> *this += uint128(a00 * b32) << 32;
> return *this;
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/policy_checks.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/policy_checks.h
49,50c49,50
< #if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 190023918 && !defined(__clang__)
< #error "This package requires Visual Studio 2015 Update 2 or higher."
---
> #if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 190023918
> #error "This package requires Visual Studio 2015 Update 2 or higher"
57c57
< #error "This package requires gcc 4.7 or higher."
---
> #error "This package requires gcc 4.7 or higher"
65c65
< #error "This package requires __apple_build_version__ of 4211165 or higher."
---
> #error "This package requires __apple_build_version__ of 4211165 or higher"
99,120d98
< // -----------------------------------------------------------------------------
< // `char` Size Check
< // -----------------------------------------------------------------------------
<
< // Abseil currently assumes CHAR_BIT == 8. If you would like to use Abseil on a
< // platform where this is not the case, please provide us with the details about
< // your platform so we can consider relaxing this requirement.
< #if CHAR_BIT != 8
< #error "Abseil assumes CHAR_BIT == 8."
< #endif
<
< // -----------------------------------------------------------------------------
< // `int` Size Check
< // -----------------------------------------------------------------------------
<
< // Abseil currently assumes that an int is 4 bytes. If you would like to use
< // Abseil on a platform where this is not the case, please provide us with the
< // details about your platform so we can consider relaxing this requirement.
< #if INT_MAX < 2147483647
< #error "Abseil assumes that int is at least 4 bytes. "
< #endif
<
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/port.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/port.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/config.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/config.h
141c141,144
< #elif defined(__APPLE__)
---
> #elif (!defined(__apple_build_version__) || \
> (__apple_build_version__ >= 8000042)) && \
> !(defined(__APPLE__) && TARGET_OS_IPHONE && \
> __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_9_0)
143,150c146
< // 8, and even then not for all iOS < 9.0. Also, Xcode 9.3 started disallowing
< // `thread_local` for 32-bit iOS simulator targeting iOS 9.x.
< // `__has_feature` is only supported by Clang so it has be inside
< // `defined(__APPLE__)` check.
< #if __has_feature(cxx_thread_local)
< #define ABSL_HAVE_THREAD_LOCAL 1
< #endif
< #else // !defined(__APPLE__)
---
> // 8, and even then not for all iOS < 9.0.
183,192c179,182
< // Note: __SIZEOF_INT128__ is defined by Clang and GCC when __int128 is
< // supported, but we avoid using it in certain cases:
< // * On Clang:
< // * Building using Clang for Windows, where the Clang runtime library has
< // 128-bit support only on LP64 architectures, but Windows is LLP64.
< // * Building for aarch64, where __int128 exists but has exhibits a sporadic
< // compiler crashing bug.
< // * On Nvidia's nvcc:
< // * nvcc also defines __GNUC__ and __SIZEOF_INT128__, but not all versions
< // actually support __int128.
---
> // Notes: __SIZEOF_INT128__ is defined by Clang and GCC when __int128 is
> // supported, except on ppc64 and aarch64 where __int128 exists but has exhibits
> // a sporadic compiler crashing bug. Nvidia's nvcc also defines __GNUC__ and
> // __SIZEOF_INT128__ but not all versions actually support __int128.
196,198c186,188
< #if (defined(__clang__) && !defined(_WIN32) && !defined(__aarch64__)) || \
< (defined(__CUDACC__) && __CUDACC_VER_MAJOR__ >= 9) || \
< (defined(__GNUC__) && !defined(__clang__) && !defined(__CUDACC__))
---
> #if (defined(__clang__) && !defined(__aarch64__)) || \
> (defined(__CUDACC__) && __CUDACC_VER_MAJOR__ >= 9) || \
> (!defined(__clang__) && !defined(__CUDACC__) && defined(__GNUC__))
257d246
< // WebAssembly __wasm__
271c260
< defined(__wasm__) || defined(__Fuchsia__)
---
> defined(__Fuchsia__)
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/internal/endian.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/internal/endian.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/internal/unaligned_access.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/internal/unaligned_access.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/internal/inline_variable_testing.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/internal/inline_variable_testing.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/internal/inline_variable.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/internal/inline_variable.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/internal/atomic_hook.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/internal/atomic_hook.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/internal/identity.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/internal/identity.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/internal/raw_logging.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/internal/raw_logging.h
77,83d76
< // Writes the provided buffer directly to stderr, in a safe, low-level manner.
< //
< // In POSIX this means calling write(), which is async-signal safe and does
< // not malloc. If the platform supports the SYS_write syscall, we invoke that
< // directly to side-step any libc interception.
< void SafeWriteToStderr(const char *s, size_t len);
<
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/internal/throw_delegate.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/internal/throw_delegate.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/attributes.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/attributes.h
530,539d529
< // ABSL_ATTRIBUTE_FUNC_ALIGN
< //
< // Tells the compiler to align the function start at least to certain
< // alignment boundary
< #if ABSL_HAVE_ATTRIBUTE(aligned) || (defined(__GNUC__) && !defined(__clang__))
< #define ABSL_ATTRIBUTE_FUNC_ALIGN(bytes) __attribute__((aligned(bytes)))
< #else
< #define ABSL_ATTRIBUTE_FUNC_ALIGN(bytes)
< #endif
<
546,548c536
< // "static init order fiasco". Prefer to put this attribute on the most visible
< // declaration of the variable, if there's more than one, because code that
< // accesses the variable can then use the attribute for optimization.
---
> // "static init order fiasco".
552,557c540
< // class MyClass {
< // public:
< // ABSL_CONST_INIT static MyType my_var;
< // };
< //
< // MyType MyClass::my_var = MakeMyType(...);
---
> // ABSL_CONST_INIT static MyType my_var = MakeMyType(...);
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/macros.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/macros.h
49c49
< auto ArraySizeHelper(const T (&array)[N]) -> char (&)[N];
---
> char (&ArraySizeHelper(T (&array)[N]))[N];
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/optimization.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/optimization.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/log_severity.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/log_severity.h
25,27d24
< // Four severity levels are defined. Logging APIs should terminate the program
< // when a message is logged at severity `kFatal`; the other levels have no
< // special semantics.
42,43d38
< // Returns the all-caps std::string representation (e.g. "INFO") of the specified
< // severity level if it is one of the normal levels and "UNKNOWN" otherwise.
54,55c49
< // Values less than `kInfo` normalize to `kInfo`; values greater than `kFatal`
< // normalize to `kError` (**NOT** `kFatal`).
---
> // Note that out-of-range severities normalize to kInfo or kError, never kFatal.
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/base/dynamic_annotations.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/base/dynamic_annotations.h
diff /Users/zxu/Documents/GitHub/firebase-ios-sdk/Firestore/third_party/abseil-cpp/absl/utility/utility.h /Users/zxu/Documents/GitHub/abseil-cpp/absl/utility/utility.h
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I actually updated to a7e522daf1ec9cda69b356472f662142dd0c1215
. I saw the other revision in my history but failed to actually check that out before running the diff and then copying. It turns out the history was actually correct and the last update to bf7fc9986e20f664958fc227547fd8d2fdcf863e
was done properly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've updated the description to reflect this and suggest we just proceed with this as-is rather than rework it to be the minimal update against the old baseline.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
verified import
Update abseil-cpp to a new upstream
Update to a7e522daf1ec9cda69b356472f662142dd0c1215
Also add:
absl/types/optional_test.cc
absl/types/CMakeLists.txt
absl/utility/CMakeLists.txt